package site.jlopen.secret.service.intf;

import java.util.List;

import site.jlopen.secret.common.SecretClientResponse;
import site.jlopen.secret.model.job.SecretJobCreateReq;
import site.jlopen.secret.model.job.SecretJobLogResp;

/**
* @ClassName: SecretJobManage
* @Description: 任务管理接口
* @author ChenJiaLu
* @date 2025年2月18日 14:16:27
*
 */
public interface SecretJobManage {
	/**
	* <strong>创建任务</strong>
	* @Title: jobCreate
	* @Description: <p>任务创建不会开始运算</p>
	* @param form
	* @return <p>TODO</p>
	* SecretClientResponse<String>
	* @author ChenJiaLu
	* @date 2024年9月29日 下午3:58:36
	 */
	public SecretClientResponse<String> jobCreate(SecretJobCreateReq form);
	/**
	* <strong>审批任务</strong>
	* @Title: jobApprove
	* @Description: <p>TODO</p>
	* @param jobId
	* @param status
	* @param reason
	* @return <p>TODO</p>
	* SecretClientResponse<String>
	* @author ChenJiaLu
	* @date 2024年9月29日 下午3:58:40
	 */
	//@Deprecated
	//public SecretClientResponse<String> jobApprove(String projectCode, SecretJobApproveStatus status, String reason);
	/**
	* <strong>停止任务</strong>
	* @Title: jobStop
	* @Description: <p>TODO</p>
	* @param jobId
	* @return <p>TODO</p>
	* SecretClientResponse<String>
	* @author ChenJiaLu
	* @date 2024年9月29日 下午3:58:46
	 */
	//@Deprecated
	//public SecretClientResponse<String> jobStop(String projectCode);
	/**
	* <strong>删除任务</strong>
	* @Title: jobDelete
	* @Description: <p>TODO</p>
	* @param jobId
	* @return <p>TODO</p>
	* SecretClientResponse<String>
	* @author ChenJiaLu
	* @date 2024年9月29日 下午3:58:48
	 */
	//@Deprecated
	//public SecretClientResponse<String> jobDelete(String projectCode);
	/**
	* <strong>开始启动任务</strong>
	* @Title: jobStart
	* @Description: <p>TODO</p>
	* @param jobId
	* @return <p>TODO</p>
	* SecretClientResponse<String>
	* @author ChenJiaLu
	* @date 2024年9月29日 下午3:58:51
	 */
	public SecretClientResponse<String> jobStart(String projectCode);
	/**
	* <strong>重跑任务</strong>
	* @Title: jobRestart
	* @Description: <p>TODO</p>
	* @param jobId
	* @return <p>TODO</p>
	* SecretClientResponse<String>
	* @author ChenJiaLu
	* @date 2024年9月29日 下午3:58:51
	 */
	public SecretClientResponse<String> jobRestart(String projectCode);
	/**
	* <strong>任务状态</strong>
	* @Title: jobStatus
	* @Description: <p>TODO</p>
	* @param jobId
	* @return <p>TODO</p>
	* SecretClientResponse<String>
	* @author ChenJiaLu
	* @date 2024年9月29日 下午3:58:53
	 */
	//@Deprecated
	//public SecretClientResponse<SecretJobStateResp> jobStatus(String projectCode);
	/**
	* <strong>任务日志</strong>
	* @Title: jobLogs
	* @Description: <p>TODO</p>
	* @param jobId
	* @return <p>TODO</p>
	* SecretClientResponse<List<SecretJobLogResp>>
	* @author ChenJiaLu
	* @date 2024年9月29日 下午3:58:56
	 */
	
	public SecretClientResponse<SecretJobLogResp> jobLogs(String projectCode);
}
